public class No063 {
    /**
     * 题目：假设把某股票的价格按照时间先后顺序存储在数组中，请问买
     * 卖该股票一次可能获得的最大利润是多少？例如，一只股票在某些时间节
     * 点的价格为{9, 11, 8, 5, 7, 12, 16, 14}。如果我们能在价格为5的时候买入并
     * 在价格为16时卖出，则能收获最大的利润11。
     */
    public int MaxDiff(int[] numbers) {
        if (numbers.length < 2) return 0;
        int min = numbers[0];
        int max = numbers[1] - min;
        for (int i = 2; i < numbers.length; i++) {
            if (numbers[i - 1] < min)
                min = numbers[i - 1];
            int currentDiff = numbers[i] - min;
            if (currentDiff > max) {
                max = currentDiff;
            }
        }
        return max;
    }
}
